The present invention relates to telecommunications switches and methods for their operation and is particularly concerned with such switches and methods for providing services such as Asynchronous Transfer Mode (ATM), Frame Relay (FR), and Internet Protocol (IP).
The Internet is driving growth in the requirement for Carriers to support connectionless protocols such as IP in their networks. IP appears to be the predominant technology for network applications, however, IP has traditionally only supported best effort delivery. Recently, initiatives by the Internet Engineering Task Force (IETF) have been directed to enhance the capability of IP to include class of service (CoS) and traffic engineering capabilities. Examples of two such initiatives are Multi-Protocol Label Switching (MPLS) and Differentiated Services. MPLS is being defined to support constraint based routing as a mode to supplement existing dynamic hop by hop routing. The proposed Constraint based Routing Label Distribution Protocol (CR-LDP) allows traffic parameters and routing topology to be specified per flow. Differentiated Services defines how a packet is tagged to receive prioritised Class of Service treatment at each hop. Typically, this maps directly to prioritized queuing treatment within a router.
The IP enhancements discussed above provide capabilities that are similar to that offered by Asynchronous Transfer Mode (ATM) and Frame Relay (FR) technology. Indeed, some carriers are considering deploying FR, ATM and IP communications services. However, fundamental differences between ATM, FR, and IP protocols have required different switching systems, resulting in separate networks for each service.
An object of the present invention is to provide improved telecommunications switches and methods for their operation.
According to an aspect of the present invention there is provided a telecommunications switch for switching protocol data units between communications links connecting the telecommunications switch into a communications network. The telecommunications switch is operable to switch protocol data units of a plurality of services simultaneously and includes a structure of queues and schedulers associated with one of the communications links. The structure of queues and schedulers is operable to provide a traffic management function which includes class-based traffic management and flow-based traffic management. The structure of queues and schedulers is arranged to provide for each service of the plurality of services one of class-based traffic management, flow-based traffic management, and traffic management that is both class-based and flow-based.
Embodiments of the invention allow a Carrier to support existing class-based traffic managed services and existing flow-based traffic managed services, while at the same time offer new services that involve a combination of class-based and flow-based traffic management.
According to an aspect of the present invention there is provided a telecommunications switch for switching protocol data units across communications links connecting the switch into a communications network. The switch includes an ingress processor for receiving protocol data units from a communications link; an egress processor for transmitting protocol data units onto another communications link; a switching fabric for routing protocol data units from the ingress processor to the egress processor. The switch further includes a plurality of queues having a first queue for flow-based queuing a first portion of the protocol data units routed by the switching fabric, and a group of queues for class-based queuing a second portion of the protocol data units routed by the switching fabric. The switch still further includes a plurality of schedulers having a first scheduler assigned to the group of queues and a second scheduler assigned to the first queue and the first scheduler. By this assignment the second scheduler is operable to provide scheduling of the first and second portions of the protocol data units for transmission onto the another communications link.
Embodiments of the invention allow a Carrier to support class-based queued services and flow-based queued services on the same switch.
Conveniently, the plurality of queues further includes another group of queues for flow-based with class-based sub-flow queuing a third portion of the protocol data units routed by the switching fabric. Also conveniently, the plurality of schedulers further includes a third scheduler assigned to the another group of queues, and the first scheduler is also assigned to the third scheduler. By this assignment, the first scheduler is operable to provide scheduling of the second and third portions to the second scheduler. These features allow a Carrier to support a service that is requires a combination of class-based queuing and flow-based queuing. For example, this feature allows a Carrier to provide a new type of Virtual Private Network (VPN) service. This service would allow an amount of bandwidth to be guaranteed to a VPN, while service classes within the VPN could each be allocated a relative proportion of the guaranteed bandwidth.
Conveniently, the second scheduler is a priority scheduler and the first and third schedulers are weighted fair queuing schedulers.
Conveniently, the telecommunications switch further includes a re-configurable interconnect which connects at least a queue of the plurality of queues and a scheduler of the plurality of schedulers in a re-configurable manner, whereby an assignment of a scheduler to a queue is selectively changeable. This feature allows a Carrier operating the switch to re-configure the switch to support more services, to make changes to existing services, and to add new services as required.
Conveniently, the plurality of schedulers comprises scheduler modules, each of which includes a priority scheduler and a weighted-fair queuing scheduler.
According to another aspect of the invention there is provided a telecommunications switch for switching protocol data units between communications links connecting the telecommunications switch into a communications network. The telecommunications switch is operable to switch protocol data units of a plurality of services simultaneously. The telecommunications switch includes an ingress processor for receiving protocol data units from a communications link, an egress processor for transmitting protocol data units onto another communications link, a switching fabric for routing protocol data units from the ingress processor to the egress processor. The telecommunications switch further includes and a structure of queues and schedulers associated with one of the communications links. The structure of queues and schedulers are operable to provide a traffic management function. The structure of queues and schedulers are arranged to provide class-based traffic management and flow-based traffic management individually or in combination on a per service basis. The traffic management function includes the queuing and scheduling of protocol data units of one or more of the plurality of services concurrently.
Conveniently, the egress processor is operable to associate a queue identifier with a protocol data unit. Also conveniently, the structure of queues and schedulers is operable to perform queuing and scheduling of the protocol data unit on a class-basis according to the queue identifier. This feature enables connectionless-like Class of Service (CoS) functionality to be provided.
Conveniently, the egress processor is operable to associate a flow identifier with a protocol data unit based on a traffic flow associated with the protocol data unit. Also conveniently the structure of queues and schedulers is operable to perform queuing and scheduling of the protocol data units on a flow-basis according to the flow identifier. This feature enables connection-oriented-like Quality of Service (QoS) functionality to be provided.
Conveniently, the ingress processor is operable to encapsulate the protocol data units with a switch tag that includes an indication of a service and a traffic flow associated with the protocol data unit, whereby the telecommunications switch can switch protocol data units of different services.
Conveniently, the structure of queues and schedulers comprises a re-configurable interconnect which connects the queues and schedulers of the structure in a re-configurable manner, whereby an arrangement of class-based scheduling, flow-based scheduling, and scheduling that is a combination of class-based and flow-based scheduling is selectively changeable.
Conveniently, the schedulers of the structure of queues and schedulers further comprise scheduler modules and wherein each scheduler module includes a priority scheduler and a weighted-fair queuing scheduler.
Conveniently, the scheduler modules are connected to the queues by the re-configurable interconnect in a re-configurable manner, whereby the connection between a queue and a scheduler module is selectively changeable.
According to another aspect of the present invention there is provided a method of switching label encapsulated protocol data units in a telecommunications switch connected into a communications network via communications links. The telecommunications switch includes a switching fabric, an ingress processor, an egress processor, and a structure of queues and schedulers configured to provide class-based scheduling, flow-based scheduling, and scheduling that is a combination of class-based and flow-based scheduling. The method comprises the steps of:
receiving, by the ingress processor, a label encapsulated protocol data unit from the network over one of the communications links;
examining, by the ingress processor, the label of the label encapsulated protocol data unit;
determining, by the ingress processor and in dependence upon the content of the label, a service and a traffic flow associated with the label encapsulated protocol data unit;
encapsulating, by the ingress processor, the label encapsulated protocol data unit with a switch tag;
transferring, by the ingress processor, the switch tag encapsulated protocol data unit to the switching fabric;
switching, by the switching fabric and in dependence upon the contents of the switch tag, the switch tag encapsulated protocol data unit to the egress processor;
determining, by the egress processor and responsive to the contents of the switch tag, a queue of the structure of queues and schedulers with which the switch tag encapsulated protocol data unit is to be associated; and
transmitting, by the egress processor and responsive to a scheduler of the structure of queues and schedulers indicating that the switch tag encapsulated protocol data unit is scheduled for transmission, the label encapsulated protocol data unit onto another of the communications links.
According to yet another aspect of the invention there is provided a structure of queues and schedulers for a telecommunications switch. The structure includes a plurality of queues and a plurality of schedulers. A portion of the schedulers are connected to the queues and the remainder of the schedulers are interconnected to form a scheduling hierarchy which is operable to provide class-based scheduling, flow-based scheduling, and scheduling that is a combination of class-based and flow-based scheduling.
Conveniently, the structure further includes a re-configurable interconnect connecting the queues and schedulers in a re-configurable manner, whereby an arrangement of class-based scheduling, flow-based scheduling, and scheduling that is a combination of class-based and flow-based scheduling is selectively changeable.
Conveniently, the plurality of schedulers comprises scheduler modules, each of which includes a priority scheduler and a weighted-fair queuing scheduler.
According to still another aspect of the present invention there is provided a structure of queues and schedulers for queuing and scheduling protocol data units for transmission in a telecommunications switch. The structure includes a plurality of queues having a first queue for flow-based queuing a first portion of the protocol data units and a group of queues for class-based queuing a second portion of the protocol data units. The structure further includes a plurality of schedulers including a first scheduler assigned to the group of queues and a second scheduler assigned to the first queue and the first scheduler, whereby the second scheduler is operable to provide scheduling of the first and second portions for transmission.
Conveniently, the plurality of queues further includes another group of queues for flow-based with class-based sub-flow queuing a third portion of the protocol data units. Also conveniently, the plurality of schedulers further includes a third scheduler assigned to the another group of queues, and the first scheduler is assigned also to the third scheduler, whereby the first scheduler is operable to provide scheduling of the second and third portions to the second scheduler.
Conveniently, the second scheduler is a priority scheduler and the first and third schedulers are weighted fair queuing schedulers.
Conveniently, the structure further includes a re-configurable interconnect which connects at least a queue of the plurality of queues and a scheduler of the plurality of schedulers in a re-configurable manner.
Features described above may be combined as would be apparent to a skilled person, and may be combined with any aspect of the invention.